Skip to main content link. Accesskey S
  • Help
  • HCL Logo
  • HCL Notes and Domino Application Development wiki
  • THIS WIKI IS READ-ONLY. Individual names altered for privacy purposes.
  • HCL Forums and Blogs
  • Home
  • Product Documentation
  • Community Articles
  • Learning Center
  • API Documentation
Search
Community Articles > Troubleshooting > Mapping agent code to NSD crash stack on AIX
  • Share Show Menu▼
  • Subscribe Show Menu▼

Recent articles by this author

Mapping agent code to NSD crash stack on AIX

This document will explain how to map an AIX NSD crash stack to actual code that was a cause of the crash. It will not guarantee a root cause, but will assist in debugging your application to find the root cause. The documentation assumes you understand how to read an NSD.

Mapping agent code to NSD crash stack on Windows

This document will explain how to map a windows NSD crash stack to actual code that was a cause of the crash. It will not guarantee a root cause, but will assist in debugging your application to find the root cause. The documentation assumes you understand how to read an NSD.

Mapping agent code to crash stacks

The objective of this group of documentation is to show how to map an NSD crash stack to application code within an agent. This can be helpful when you are trying to debug an application but want to lower the scope of debugging to save time.
Community articleMapping agent code to NSD crash stack on AIX
Added by ~Keiko Zekkibergoopsi | Edited by IBM contributor~Keiko Kireplopetsi on May 18, 2010 | Version 4
  • Actions Show Menu▼
expanded Abstract
collapsed Abstract
This document will explain how to map an AIX NSD crash stack to actual code that was a cause of the crash. It will not guarantee a root cause, but will assist in debugging your application to find the root cause. The documentation assumes you understand how to read an NSD.
Tags: nsd
This document has been broken down into the coding areas related to a crash.
 
LotusScript
1. CrashStack will contain: LSITHREAD::RUN.
2. Go down the lines with "::" until you reach LSITHREAD::RUN
3. In method descriptions the following prefixes can be ignored if not used as part of a word.L A N D (may be more. These are internal flags on methods). For example: ANDatabase::ANDRevokeACL means Database::RevokeACL
4. From the lower stack line work down until your at a DispatchMethod or AdtCallBack (this can vary).

Example Stack
[1] 0xd012aac0_cond_wait_global(??, ??, ??) + 0x38c
[2] 0xd012b7a8_cond_wait(??, ??, ??) + 0x34
[3] 0xd012c390pthread_cond_wait(??, ??) + 0x18c
[4] 0xd1f61380WaitForThreadSem(??, ??) + 0xe4
[5] 0xd1f65738WaitOnNativeSemaphore(??, ??, ??, ??) + 0xd8
[6] 0xd1f6211cOSLockWriteFRWSemInt(??, ??, ??) + 0x2a8
[7] 0xd1f68244OSWaitFairEvent(??, ??) + 0x10
[8] 0xd20753c4newLkLock(DBCONTEXT_STRUCT*,LK_ID_STRUCT*,unsigned long,unsigned long,LK_INFO*,char*)(??, ??, ??, ??, ??, ??) + 0x13e4
[9] 0xd2073f44_LkLock(??, ??, ??, ??, ??, ??) + 0x10
[10] 0xd206459cLockDbReadSemCtx(??, ??) + 0x1d4
[11] 0xd20630fcLockDbROCond(??, ??, ??) + 0x108
[12] 0xd2002e88NSFDbPurgeInfoGet(??, ??, ??) + 0x30
[13] 0xd233f7d4GetDatabaseModifiedTime(??, ??) + 0xf4
[14] 0xd28a3564ReadEntries(??, ??, ??, ??, ??, ??, ??, ??) + 0x3c8
[15] 0xd2643590NIFReadEntries(??, ??, ??, ??, ??, ??, ??, ??) + 0x1bc
[16] 0xd20f03bcFindDesignNote(0x35c035c, 0x32796358, 0x80008, 0x0, 0x1, 0xd57e62ec, 0xffff0020, 0x0) + 0x3a0
[17] 0xd20f09c8NIFFindDesignNoteExt(??, ??, ??, ??, ??, ??) + 0x94
[18] 0xd5671a5cANDatabase::ANDFindView(unsigned char*,unsigned long)(0x3004ea78, 0xc, 0x0) + 0x110
[19] 0xd568098cANDatabase::LANDFindView(LSADTMSGMETHOD*)(??, ??) + 0x3c
[20] 0xd567f320ANDatabase::ANDispatchMethod(LSADTMSGMETHOD*)(??, ??) + 0x52c
[21] 0xd562cd38ANCLASSCONTROL(??, ??, ??, ??) + 0xe5c
[22] 0xd57e2868 _tag_NotesADTControl::ClassControl(LSsApiInstance*,LSIADTMSG,LSADTINSTDESC*,void*)(??, ??, ??, ??, ??) + 0x20
[23] 0xd29120b4 LSsInstance::AdtCallBack(short(*)(LSsInstance*,LSIADTMSG,LSADTINSTDESC*,void*),LSIADTMSG,LSADTINSTDESC*,void*,tagLSREGNAMETYPE)(??, ??, ??, ??,??, ??) + 0x224
[24] 0xd2966d18LScObjCli::ProdMethodCall(unsigned long,const _GUID&,unsigned short,LSsValue*)(??, ??, ??, ??, ??) + 0x38
[25] 0xd29780e0LSsThread::AdtDoProdCallout(LSsValue*,unsigned short,LSsExtCallout*)(??, ??, ??, ??) + 0xe4
[26] 0xd299bcb0LSsThread::NRun()(??) + 0xba4
[27] 0xd299e55cLSsThread::Run()(??) + 0x114


From the first line that has "::" is normally where the LS starts. Until the "LSsThread::RUN".

[18] 0xd5671a5cANDatabase::ANDFindView(unsigned char*,unsigned long)(0x3004ea78, 0xc, 0x0) + 0x110
[19] 0xd568098cANDatabase::LANDFindView(LSADTMSGMETHOD*)(??, ??) + 0x3c
[20] 0xd567f320ANDatabase::ANDispatchMethod(LSADTMSGMETHOD*)(??, ??) + 0x52c
[21] 0xd562cd38ANCLASSCONTROL(??, ??, ??, ??) + 0xe5c
[22] 0xd57e2868 _tag_NotesADTControl::ClassControl(LSsApiInstance*,LSIADTMSG,LSADTINSTDESC*,void*)(??, ??, ??, ??, ??) + 0x20
[23] 0xd29120b4 LSsInstance::AdtCallBack(short(*)(LSsInstance*,LSIADTMSG,LSADTINSTDESC*,void*),LSIADTMSG,LSADTINSTDESC*,void*,tagLSREGNAMETYPE)(??, ??, ??, ??,??, ??) + 0x224
[24] 0xd2966d18LScObjCli::ProdMethodCall(unsigned long,const _GUID&,unsigned short,LSsValue*)(??, ??, ??, ??, ??) + 0x38
[25] 0xd29780e0LSsThread::AdtDoProdCallout(LSsValue*,unsigned short,LSsExtCallout*)(??, ??, ??, ??) + 0xe4
[26] 0xd299bcb0LSsThread::NRun()(??) + 0xba4
[27] 0xd299e55cLSsThread::Run()(??) + 0x114


Clean out data not needed.
Database::FindView
Database::FindView
Database::DispatchMethod


There is no "FindView" in LotusScript so you look for the next logical method. In this case it would be "getView" So the code being executed would be:


notesDatabase.GetView( viewName )

  • Actions Show Menu▼


expanded Attachments (0)
collapsed Attachments (0)
Edit the article to add or modify attachments.
expanded Versions (4)
collapsed Versions (4)
Version Comparison     
VersionDateChanged by              Summary of changes
This version (4)May 18, 2010, 12:47:46 PM~Keiko Kireplopetsi  IBM contributor
3May 13, 2010, 12:56:53 PM~Joseph Fezlulitynds  IBM contributor
2May 13, 2010, 12:54:22 PM~Joseph Fezlulitynds  IBM contributor
1May 12, 2010, 9:34:56 AM~George Dwotumiverettu  IBM contributor
expanded Comments (0)
collapsed Comments (0)
Copy and paste this wiki markup to link to this article from another article in this wiki.
Go ElsewhereStay ConnectedAbout
  • HCL Software
  • HCL Digital Solutions community
  • HCL Software support
  • BlogsDigital Solutions blog
  • Community LinkHCL Software forums and blogs
  • About HCL
  • Privacy
  • Accessibility